var timer, answCount;

function pad(number, length) { if(number==0)return ""; var str = '' + number; while (str.length < length) { str = '0' + str; } return str;}
function loadScript(url,callback)
{
    var script = document.createElement("script")
    script.type = "text/javascript";
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
    
    timer = setInterval(callback,1000);
}
function getHead()
{
    return jQuery("#wsqti_assessment_title").text();
    return "Тест: 15.6. Тест для самопроверки";
}
function getQuest()
{
    return jQuery(".wsqti_item_questiontext").text();
    return "Код, содержащий строку «return 77;», будет откомпилирован корректно, если этот код написан:";
}
function checkAnswer(answer)
{
    jQuery(".wsqti_item_multiple_texttd").each(function(index, el){
        if(answer==el.innerText)
        {
            HandleClick(jQuery(el).parent().parent().parent().parent().get(0));
            ++answCount;
        };
    });
    jQuery(".wsqti_item_single_texttd").each(function(index, el){
        if(answer==el.innerText)
        {
            HandleClick(jQuery(el).parent().parent().parent().parent().get(0));
            ++answCount;
        };
    });
}
function setAnswer(answer)
{
    var list = answer.split("\n");
    answCount = 0;
    for(var i = 0; i < list.length; i++)
    {
        checkAnswer(list[i]);
    }
    return (answCount > 0);
}
function getCourse()
{
    var head = getHead();
    var c = pad(head.replace(/.*?([0-9]+)\.?([0-9]*).*/i,"$1"),2);
    var d = pad(head.replace(/.*?([0-9]+)\.?([0-9]*).*/i,"$2"),2);
    return c+c+d;
}
function courseLoaded(course)
{
    var quest = getQuest();
    var list = $.csv.toArrays(course);
    for(var i = 0; i < list.length; i++)
    {
        if(list[i][1]==quest)
        {
            if(list[i][2]!="" && list[i][2]!=undefined)
            {
                if(setAnswer(list[i][2]))
                {
                    ProcessButtonClick(jQuery("#wsqti_main_control_accept2").get(0));
                    return;
                }
            }
            else
            {
                answCount = -1;
            }
        }
    }
    if(answCount == -1)
    {
        alert("Ответ пуст.");
    }
    else
    {
        alert("Вопрос не найден");
    }
}
function listLoaded(fileList)
{
    var course = getCourse();
    var list = jQuery.csv.toArrays(fileList);
    for(var i = 0; i < list.length; i++)
    {
        if(list[i][0]==course)
        {
            jQuery.get("https://docs.google.com/spreadsheet/pub?key="+list[i][1]+"&single=true&gid=0&output=csv", courseLoaded);
            return;
        }
    }
}
function executeScript()
{
    clearInterval(timer);
    jQuery.get("https://docs.google.com/spreadsheet/pub?key=0Aqum1DC4cnCbdF9XWjcyQXhrRl9KblhyOTByZ3FyVlE&single=true&gid=0&output=csv", listLoaded);
}


var headID = jQuery(".wsqti_main_control_accept");
var newButton = $("<input type='button' value='Ответ' class='wsqti_main_control_accept' onclick='executeScript();return false;'>");
headID.parent().append(newButton);

